import { log } from 'console'
import React, { Component } from 'react'
interface ISate{
    text:string,
    list:string[]
}
export default class app extends Component<any,ISate> {
    state={
        text:"",
        list:['断言','泛型','接口','as']
    }
    myref=React.createRef<HTMLInputElement>() //ref放那就<约束在哪儿>
  render() {
    return (
      <div>
        <input type="text" value={this.state.text} onChange={
            (evt)=>{
                this.setState({
                    text:evt.target.value
                })
            }
        } />
        <input type="text" ref={this.myref} />
        {/* as断言 类型断言这个值以后一定是HTMLInputElement类型的 */}
        <button onClick={()=>{
console.log(this.state.text,(this.myref.current as HTMLInputElement).value);
this.setState({
    list:[...this.state.list,'2313','3213','6666']
})
        }}>点击按钮</button>
      </div>
    )
  }
}

function Test(mytable:string|number){
    console.log((mytable as string).length);  //可以用 原声明有字符 数字类型可以断言其长度

     console.log((mytable as any).length); //对
    //  console.log((mytable as string[]).length); //错 原声明没有这个类型 无法断言
}
